﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Real_Estate.Code.OBJ
{
    class Residencial : Imovel
    {
        //Campos adicionais para residencias
        private int Vagas;
        public int vagas
        {
            get { return Vagas; }
            set { Vagas = value; }
        }

        private int Quartos;
        public int quartos
        {
            get { return Quartos; }
            set { Quartos = value; }
        }

        private int Suites;
        public int suites
        {
            get { return Suites; }
            set { Suites = value; }
        }

        private int Banheiros;
        public int banheiros
        {
            get { return Banheiros; }
            set { Banheiros = value; }
        }

        private string Quintal;
        public string quintal
        {
            get { return Quintal; }
            set { Quintal = value; }
        }

        //Construtor
        public Residencial(int TipoID1, string Cidade1, string Bairro1, string Negocio1, string CEP1, string Endereco1, string Numero1,int Vagas1, int Quartos1, int Banheiros1)
        {
            this.tipoid = TipoID1;
            this.cidade = Cidade1;
            this.bairro = Bairro1;
            this.negocio = Negocio1;
            this.cep = CEP1;
            this.endereco = Endereco1;
            this.numero = Numero1;
            this.quartos = Quartos1;
            this.banheiros = Banheiros1;
        }
        //Metodos para adicionar outros campos
        public override void AdicionaValor(decimal Valor1)
        {
            this.valor = Valor1;
        }

        public override void AdicionaArea(decimal Area1)
        {
            this.area = Area1;
        }

        public override void AdicionaComp(string Comp1)
        {
            this.comp = Comp1;
        }

        public override void AdicionaDescricao(string Descricao1)
        {
            this.descricao = Descricao1;
        }

        public void AdicionaSuites(int Suites1)
        {
            this.suites = Suites1;
        }

        public void AdicionaVagas(int Vagas1)
        {
            this.vagas = Vagas1;
        }

        public void AdicionaQuintal(string Quintal1)
        {
            this.quintal = Quintal1;
        }

        public override float RetornaLat()
        {
            return lat;
        }

        public override float RetornaLng()
        {
            return lng;
        }

        //Calculo das coordenadas
        public override void CalculaPosicao()
        {
            Googlegeocode Geocode = new Googlegeocode(HttpUtility.UrlEncode(endereco + numero + "," + bairro + "," + cidade + ",SP,Brasil"));
            Geocode.CalculaCoordenadas();
            lat=Geocode.RetornaLat();
            lng=Geocode.RetornaLng();
        }
    }
}